| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Static Public Member Functions | List of all members
nkImages::DdsEncoder Class Referencefinal

Offers capabilities to encode and decode DDS format. More...

## Static Public Member Functions
static nkMemory::Buffer | encode (const ImageView &image)
static bool | canDecode (nkMemory::BufferView< unsigned char > data)
static Image | decode (nkMemory::BufferView< unsigned char > data, const AlignmentDescriptor &alignmentDescriptor=AlignmentDescriptor())

## Detailed Description

Offers capabilities to encode and decode DDS format.

## Member Function Documentation

## ◆ encode()

static nkMemory::Buffer nkImages::DdsEncoder::encode | ( | const ImageView & | image | ) |
| static

Encodes an image into a binary buffer fitting the DDS format.

Parameters

  image | The image to encode.

Returns
  The binary buffer holding the encoded image.

Remarks
  This function does not support more features than the decode() one. If you are using a feature which is not listed as supported within the decode function, chances are the encoding will be erroneous.

## ◆ canDecode()

static bool nkImages::DdsEncoder::canDecode | ( | nkMemory::BufferView< unsigned char > | data | ) |
| static

Checks whether a binary buffer can be decoded by this encoder. This checks the file header for the magic bytes.

Parameters

  data | The binary data which need to be checked.

Returns
  Whether the binary buffer can be decoded (true) or not (false).

## ◆ decode()

static Image nkImages::DdsEncoder::decode | ( | nkMemory::BufferView< unsigned char > | data,
|  | const AlignmentDescriptor & | alignmentDescriptor = `AlignmentDescriptor()`
| ) |  |
| static

Decodes a binary buffer into its image representation.

Currently supported features are :

- Decoding of 2D textures, 2D texture arrays, cubemaps
- Decoding of all mips
- Bit masked pixel formats RGB(A), encoded in the PIXEL_FORMAT DDS header part

However, some functionalities are still being worked on :

- Pixel formats luminance and YUV, encoded in the PIXEL_FORMAT DDS header part
- 3D textures

Parameters

  data | The binary buffer to decode.
  alignmentDescriptor | If decoded image's data needs to fit some alignment requirements, they can be specified through this parameter.

Returns
  The decoded image, if data could be decoded.

Remarks
  If something goes wrong, the error will be logged and an empty image will be returned.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsImages/Dds/DdsEncoder.h